<?php
/**
 * 后台菜单逻辑层
 * @author maniac
 */
namespace app\common\logic;

class AdminMenus extends Base
{    
    /**
     * 编辑逻辑处理
     * @param  [type] $data [description]
     * @return [type]       [description]
     */
    public function save($data)
    {
        if (isset($data['id']) && $data['id']) {
            // 修改
            if ($data['id'] == $data['parent_id']) {
                exception('不能选择自己作为上级菜单');
            }
            
            // 获取当前菜单的所有子菜单
            $sub_ids = get_sub_ids('app\common\model\AdminMenus', $data['id']);
            if (in_array($data['parent_id'], $sub_ids)) {
                exception('要修改的上级菜单是当前菜单的子菜单');
            }
        }
        return parent::save($data);
    }
}
